// package com.lovar.gaming.core.page;
//
// import com.baomidou.mybatisplus.core.metadata.IPage;
// import com.lovar.gaming.core.enums.SysMessageCode;
// import lombok.Data;
// import lombok.NoArgsConstructor;
//
// import java.io.Serializable;
// import java.util.List;
//
// /**
//  * 分页返回实体
//  *
//  * @author chenwl
//  * @date 2024/4/21 周日
//  */
// @Data
// @NoArgsConstructor
// public class PageResult<T> implements Serializable {
//
//     private static final int SUCCESS = 200;
//
//     private static final int FAIL = 500;
//     /**
//      * 总记录数
//      */
//     private long total;
//
//     /**
//      * 列表数据
//      */
//     private List<T> data;
//
//     /**
//      * 消息状态码
//      */
//     private int code;
//
//     /**
//      * 消息内容
//      */
//     private String msg;
//     /**
//      * 响应子代码
//      */
//     private String subCode;
//     /**
//      * 分页
//      *
//      * @param list  列表数据
//      * @param total 总记录数
//      */
//     public PageResult(List<T> list, long total) {
//         this.data = list;
//         this.total = total;
//     }
//
//     public static <T> PageResult<T> build(IPage<T> page) {
//         PageResult<T> rspData = new PageResult<>();
//         rspData.setCode(SUCCESS);
//         rspData.setMsg(SysMessageCode.REQUEST_SUCCESS.getMessageCode());
//         rspData.setData(page.getRecords());
//         rspData.setTotal(page.getTotal());
//         return rspData;
//     }
//
//     public static <T> PageResult<T> build(List<T> list) {
//         PageResult<T> rspData = new PageResult<>();
//         rspData.setCode(SUCCESS);
//         rspData.setMsg(SysMessageCode.REQUEST_SUCCESS.getMessageCode());
//         rspData.setData(list);
//         rspData.setTotal(list.size());
//         return rspData;
//     }
//
//     public static <T> PageResult<T> build() {
//         PageResult<T> rspData = new PageResult<>();
//         rspData.setCode(SUCCESS);
//         rspData.setMsg(SysMessageCode.REQUEST_SUCCESS.getMessageCode());
//         return rspData;
//     }
// }
